/**
 * 在这里定义和用户相关的路由处理函数，供 /router/user.js 模块进行调用
 */
//数据库模块
const db = require("../db/mysql");

// 获取所有运动员报名基本信息的处理函数
exports.getPlayer = (req, res) => {
  const playerInfo = req.body;
  const sql = `select * from tb_player where username=? `;
  db.query(sql, playerInfo.username, function (err, results) {
    // 执行 SQL 语句失败
    if (err) return res.cc("没有找到项目", err);
    return res.send(results);
  });
};

// 提交报名信息的处理函数
exports.signUp = (req, res) => {
  const signUpInfo = req.body;
  const sql = `select * from tb_player where username=? and  your_project=?`;
  db.query(
    sql,
    [signUpInfo.username, signUpInfo.project],
    function (err, results) {
      // 执行 SQL 语句失败
      if (err) return res.cc("没有找到项目", err);
      //判断是否已经提交过这个报名
      if (results.length === 1) {
        return res.send("不要重复提交报名");
      } else {
        // 判断项目名称是否输入有误
        const sql = `select * from tb_projectdetails where project=?`;
        db.query(sql, [signUpInfo.project], function (err, results) {
          if (results.length === 1) {
            //报名成功添加数据
            const sql = "insert into tb_player set ?";
            db.query(
              sql,
              {
                your_project: results[0].project,
                your_time: results[0].proTime,
                position: results[0].proPosition,
                game_result: -1,
                username: signUpInfo.username,
              },
              function (err, result) {
                if (err) return res.cc(err);
                if (result.affectedRows === 1) {
                  return res.cc("报名成功", 0);
                } else {
                  return res.cc("报名失败");
                }
              }
            );
          } else {
            return res.cc("项目输入有误");
          }
        });
      }
    }
  );
};

// 获取所有項目打分信息的处理函数
exports.getScore = (req, res) => {
  const scoreInfo = req.body;
  const sql = `select * from tb_player where your_project=? `;
  db.query(sql, scoreInfo.project, function (err, results) {
    // 执行 SQL 语句失败
    if (err) return res.cc("没有找到项目", err);
    return res.send(results);
  });
};

// 打分
exports.setScore = (req, res) => {
  const scoreInfo = req.body;
  console.log(scoreInfo);
  const sql = `update tb_player set game_result =? WHERE username=? AND your_project=?`;
  for (let i = 0; i < scoreInfo.project.length; i++) {
    db.query(
      sql,
      [scoreInfo.score[i], scoreInfo.username[i], scoreInfo.project[i]],
      function (err, results) {
        // 执行 SQL 语句失败
        if (err) return res.cc("没有找到项目", err);
        // return res.send(results)
      }
    );
  }
  return res.send("打分完成");
};
